#ifndef ADMIN_H
#define ADMIN_H
#include "../Control/Controller.h"
#include "IA.h"
#include "HumanPlayer.h"
#include <string>

namespace View{
class Admin
{
private:
	//the associated controller
	Control::Controller* myController;

public:
	/**
	Ask the controller to remove a player
	@param idPlayer the player to be removed
	*/
	void removePlayer(int idPlayer);

	/**
	Ask the controller to start the game
	*/
	void startGame();
	
	/**
	Ask the controller to register a new Ia
	@param name the name of the IA
	@param ia the IA class which will manage this IA
	*/
	void addIA(std::string name,IA* ia);
	/**
	Ask the Controller to create a new Player
	@param name the name of the new player
	@param hp the view which will control this player
	*/
	void addHumanPlayer(std::string name,HumanPlayer* hp);
	Admin(void);
	~Admin(void);
};
}
#else
namespace View{
	class Admin;
}
#endif
